Skip to content

Adopt two-phase CI/CD with weekly publish and PR smoke tests#155

Merged
ptr727 merged 1 commit into
developfrom
migrate-two-phase-deploy
Jun 4, 2026
Merged

Adopt two-phase CI/CD with weekly publish and PR smoke tests#155
ptr727 merged 1 commit into
developfrom
migrate-two-phase-deploy

Conversation

@ptr727

@ptr727 ptr727 commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Summary

Migrates LanguageTags to the two-phase commit deploy model used by the shared ProjectTemplate (and already ported to NxWitness / PlexCleaner), reduced to this project's single NuGet-library target.

  • PRs smoke-test only. test-pull-request.yml runs unit tests, then a dorny/paths-filter changes gate runs a reduced, never-published library build (smoke: true). Workflow/docs-only PRs skip the build.
  • Merges don't publish by default. publish-release.yml is the sole publisher: a weekly schedule (Mon 02:00 UTC) + manual workflow_dispatch rebuild/publish both main and develop via a branch matrix. The push trigger only publishes when the PUBLISH_ON_MERGE repo variable is true (opt-in continuous-release).
  • Codegen weekly → daily (run-periodic-codegen-pull-request.yml, 04:00 UTC, staggered after the publish). Dependabot already daily — unchanged.

Workflow contract / naming

  • Reusable tasks thread ref / branch / smoke; config keys off inputs.branch (Release on main, Debug elsewhere); builds + release tag pin to NBGV GitCommitId.
  • Renamed build-library-task.ymlbuild-nugetlibrary-task.yml and removed test-release-task.yml to match the upstream template's file schema.
  • New publish-release.yml concurrency exception (global ref-independent group + cancel-in-progress: false) documented in AGENTS.md.

Docs

  • AGENTS.md: Release Model section + concurrency exception.
  • README: two-phase description, event=schedule on the Releases Build badge, develop-ruleset strict-check correction (matches AGENTS.md).
  • copilot-instructions.md: workflow list refresh.

Verification

  • dotnet build LanguageTags.csproj passes in Debug and Release (0 warnings).
  • All workflow YAML parses; no stale build-library-task / test-release-task references.
  • actionlint not run locally (binary unavailable) — relies on CI.

🤖 Generated with Claude Code

Routine merges (Dependabot, codegen) no longer kick off a full build and
publish. PRs now only smoke-test, and a weekly scheduled run is the sole
publisher, rebuilding both main and develop from a branch matrix.

- publish-release.yml: add weekly schedule (Mon 02:00 UTC) + manual dispatch
  as the publisher; push publishes only when PUBLISH_ON_MERGE is set
  (opt-in continuous-release); global ref-independent concurrency for real
  publishes, per-run no-op group otherwise.
- test-pull-request.yml: dorny/paths-filter gate + inlined unit tests +
  never-published smoke build (build-release-task smoke: true).
- build-release-task / build-nugetlibrary / get-version / build-datebadge:
  thread ref/branch/smoke, key config off inputs.branch, pin builds and the
  release tag to GitCommitId.
- Rename build-library-task.yml -> build-nugetlibrary-task.yml and remove
  test-release-task.yml to match the upstream template naming.
- run-periodic-codegen: weekly -> daily (04:00 UTC), staggered after publish.
- Docs: AGENTS.md release model + concurrency exception, README two-phase
  description and scheduled release-build badge, develop ruleset strict-check
  correction, copilot-instructions workflow list.
Copilot AI review requested due to automatic review settings June 4, 2026 18:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Comment thread .github/workflows/test-pull-request.yml
@ptr727 ptr727 merged commit 325efba into develop Jun 4, 2026
8 of 9 checks passed
@ptr727 ptr727 deleted the migrate-two-phase-deploy branch June 4, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants